home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / sampler4.arc / REVISE.SAC < prev   
Text File  |  1985-08-30  |  14KB  |  360 lines

  1. on echo
  2. !****************************************************************************!
  3. !                                                                            !
  4. !                   Data Revision and Conversion in SORITEC                  !
  5. !                        (Section 2.6 and Section 6.4)                       !
  6. !                                                                            !
  7. !****************************************************************************!
  8. !    
  9. !    Data may be revised or their periodicities may be converted by SORITEC
  10. !    Sampler by a simple set of commands.  In general, data revision
  11. !    requires you to enter a sequence of two commands:
  12. !         (1) Set the USE period to the period that you want the
  13. !             data to be revised, and
  14. !         (2) Update the data explicitly with the REVISE command or
  15. !             implicitly through a transformation expression with
  16. !             the ON REVISE global option enabled.
  17. !    Conversion of periodicities is enabled in SORITEC Sampler by the
  18. !    CONVERT command.  All options associated with this command, which
  19. !    identify how conversion is to be accomplished and the output variable
  20. !    name are entered directly into the command line.  The important thing
  21. !    to remember here is that CONVERT converts the data series into the
  22. !    periodicity associated with the currently active USE command.  You
  23. !    need not specify the periodicity of the input series as SORITEC 
  24. !    Sampler can detect it.
  25. !    
  26. !    The examples shown here demonstrate the fundamentals of data revision
  27. !    and conversion, but do not illustrate all possible applications of the 
  28. !    commands.  Additional examples of data revision are given in the 
  29. !    SORITEC Sampler documentation.
  30. !    
  31. !****************************************************************************!
  32. !                                                                            !
  33. !                               Data Revision                                !
  34. !                               (Section 2.6)                                !
  35. !                                                                            !
  36. !****************************************************************************!
  37. !    
  38. !    This example uses estimates of real Gross National Product (GNP)
  39. !    expressed in billions of 1972 dollars to demonstrate how data revision
  40. !    is done in SORITEC.  Read in the data for two separate periods.  Note
  41. !    that the data are quarterly.
  42. !    
  43.  USE  1976q1    1979q4       
  44.  READ    gnp72_pre1980
  45.     1285.000000         1293.700000         1301.100000         1313.100000     
  46.     1341.300000         1363.300000         1385.800000         1388.400000     
  47.     1400.000000         1437.000000         1448.800000         1468.400000     
  48.     1472.600000         1469.200000         1486.600000         1489.300000     
  49.    ;
  50.  USE   1980q1    1984q4
  51.  READ    gnp72
  52.     1496.400000         1461.400000         1464.200000         1477.900000     
  53.     1513.500000         1511.700000         1522.100000         1501.300000     
  54.     1483.500000         1480.500000         1477.100000         1478.800000     
  55.     1491.000000         1524.800000         1550.200000         1572.700000     
  56.     1610.900000         1638.800000         1645.200000         1661.100000     
  57.    ;
  58. END
  59.  
  60. !    
  61. !    Copy gnp72 into another variable to compare with revised data
  62. !    
  63.  
  64. gnp72_old = gnp72
  65.  
  66. !    
  67. !    Assume that fourth quarter GNP has been revised from the 3.9 percent
  68. !    growth currently implied by the fourth quarter estimate to 5 percent.
  69. !    This is accomplished in a straight-forward manner with the REVISE 
  70. !    command.  First, enter the growth rate into SORITEC Sampler using the
  71. !    SET command.
  72. !    
  73.  
  74. SET growth_rate = 1.05
  75.  
  76. !    
  77. !    Second, change the USE period to the time period over which
  78. !    you want to revise the data.  In this case, it is simply 1984Q4.
  79. !    
  80.  
  81. USE 1984q4
  82.  
  83. !    
  84. !    The only thing to remember in this example is that real growth is
  85. !    expressed in annual terms and when estimating GNP from quarter to
  86. !    quarter, it must first be converted to a quarter to quarter growth
  87. !    rate.  This can be done directly within the REVISE command, i.e.,
  88. !    
  89.  
  90. REVISE  gnp72 = gnp72(-1) * growth_rate ** .25
  91.  
  92. !    
  93. !    Compare the revised and original time series by printing the last
  94. !    four quarters, 1984q1 to 1984q4.
  95. !    
  96.  
  97. USE 1984q1 1984q4
  98. PRINT gnp72_old gnp72
  99.  
  100. !    
  101. !    Data can be revised implicitly in transformations if the REVISE 
  102. !    global option is set with the ON REVISE command.  This is
  103. !    demonstrated in an example which spices forecasts of GNP over
  104. !    the four quarters of 1985 to our recently revised GNP data.
  105. !    
  106. !    A Business Week article, "Why Factories Aren't Running at Full
  107. !    Stream", Business Week, February 18, 1985, p. 118 estimates
  108. !    annual percentage GNP growth for the four quarters of 1985 will 
  109. !    be the following:
  110. !                  
  111. !                  Quarter          Annual Growth Rate(%)
  112. !                  -------          ---------------------
  113. !                   1985q1                  2.6
  114. !                   1985q2                  2.7
  115. !                   1985q3                  2.5
  116. !                   1985q4                  2.3
  117. !    
  118. !    We'll enter these numbers into SORITEC Sampler with the FILL command.
  119. !    
  120.  
  121. USE 1985q1 1985q4
  122. FILL growth 1.026 1.027 1.025 1.023
  123.  
  124. !    
  125. !    Now enable data revision global option with the ON REVISE command.
  126. !    When this option is enabled, any transformation of an existing variable
  127. !    changes only the active observations, as defined by the currently active
  128. !    USE period.  Observations outside the active observation range are 
  129. !    retained.  If ON REVISE is not set, observations outside the active
  130. !    USE period are lost.
  131. !    
  132.  
  133. ON REVISE
  134.  
  135. !    
  136. !    Simply specify GNP for each quarter of 1985 as a transformation based
  137. !    upon the previous quarter's estimate to revise the GNP time series to
  138. !    include 1985 values.  Remember to convert annual growth rates to
  139. !    quarterly growth rates in the transformation line.  Note that we
  140. !    must enable the DYNAMIC global option to cause the transformation
  141. !    to substitute lagged variables into the equation as it calculates
  142. !    the forecast values.
  143. !    
  144.  
  145. ON DYNAMIC
  146.  
  147. gnp72 = gnp72(-1) * growth ** 0.25
  148.  
  149. OFF DYNAMIC
  150.  
  151. !
  152. !    Don't worry about the error message.  SORITEC Sampler
  153. !    dynamically extends the series, anyway.
  154. !    
  155. !    Print out the revised series for 1984 and 1985.
  156. !    
  157.  
  158. USE 1984q1 1985q4
  159. PRINT gnp72
  160.  
  161. !    
  162. !    Remember to disable the REVISE option after you are satisfied with
  163. !    the results.
  164. !    
  165.  
  166. OFF REVISE
  167.  
  168. !    
  169. !    Splicing data series together is just as easy.  Let's say we want
  170. !    to splice our pre-1980 GNP time series to our GNP time series that
  171. !    runs from 1980q1 to 1985q4.  Using the explicit REVISE command, we
  172. !    simply define the USE period over which the data are to be revised,
  173. !    i.e.,
  174. !    
  175.  
  176. USE 1976q1 1979q4
  177.  
  178. !    
  179. !    and then REVISE the data.
  180. !    
  181.  
  182. REVISE gnp72 = gnp72_pre1980
  183.  
  184. !    
  185. !    Print out the entire series to examine the results.
  186. !    
  187.  
  188. USE 1976q1 1985q4
  189. PRINT gnp72
  190.  
  191. !    
  192. !    If you wanted to use the ON REVISE option to splice the two series
  193. !    together, the command sequence would be:
  194. !    
  195.  
  196. USE 1976q1 1979q4
  197. ON REVISE
  198. gnp72 = gnp72_pre1980
  199. OFF REVISE
  200. cls
  201.  
  202. !****************************************************************************!
  203. !                                                                            !
  204. !                               Data Conversion                              !
  205. !                                (Section 6.4)                               !
  206. !                                                                            !
  207. !****************************************************************************!
  208. !    
  209. !    Periodicity conversion is demonstrated by an example where we wish to
  210. !    examine the relationship between real GNP, the federal budget deficit
  211. !    and total population.  Our data consist of "gnp72", which is a quarterly
  212. !    time series, "federal_deficit", which is monthly, and "annual_population"
  213. !    which is an annual time series.  We will change all data series to 
  214. !    quarterly data to enable an equation to be estimated.  We will not
  215. !    estimate the equation in this example, however.  Estimation techniques
  216. !    are demonstrated in the "REGRESS.SAC" command file.
  217. !    
  218. !    First, read in budget deficit and population data.
  219. !    
  220.  
  221.  USE  1980m1    1984m12      
  222.  READ    federal_deficit       
  223.    -4.448000000        -9.285000000        -13.10800000         9.751000000     
  224.    -14.03700000         12.36800000        -14.99300000        -6.956000000     
  225.     5.640000000        -16.92100000        -8.907000000        -1.965000000     
  226.    -12.19200000        -15.62000000        -9.582000000         17.19000000     
  227.    -16.17100000         15.36300000        -10.34300000        -5.119000000     
  228.     6.335000000        -18.10500000        -10.64200000        -19.46800000     
  229.     9.339000000        -14.78000000        -18.25500000         9.704000000     
  230.    -18.93000000         6.724000000        -19.83100000        -14.70400000     
  231.    -1.708000000        -26.16900000        -24.15800000        -17.93800000     
  232.    -9.582000000        -25.33600000        -26.03600000        -3.308000000     
  233.    -29.28500000         3.401000000        -21.41200000        -17.47700000     
  234.     1.946000000        -25.06900000        -21.59100000        -16.66100000     
  235.    -5.515000000        -20.38100000        -28.55500000         11.49300000     
  236.    -33.93200000        -2.000000000        -16.41600000        -33.49800000     
  237.     16.78500000        -28.78700000        -28.46200000             MISSING     
  238.    ;
  239.  USE  1979    1984
  240.  READ    annual_population
  241.     225055.0000         227738.0000         230019.0000         232309.0000
  242.     234496.0000             MISSING     
  243.    ;
  244. END
  245.  
  246. !    
  247. !    Just for practice, we'll update the two series through 1984.
  248. !    
  249. !    (1) federal_deficit
  250. !    
  251.  
  252. USE 1984m12
  253. REVISE federal_deficit = -15.179
  254.  
  255. !    
  256. !    (2) annual_population
  257. !    
  258.  
  259. USE 1984
  260. REVISE annual_population = 236634
  261.  
  262. !    
  263. !    Now convert monthly federal deficit estimates to annual data.  
  264. !    
  265. !    First, change the USE period to the periodicity to which you
  266. !    want the data converted, in this case, quarterly.
  267. !    
  268.  
  269. USE 1980q1 1984q4
  270.  
  271. !    
  272. !    Second, convert the data using the CONVERT command.  There are
  273. !    5 different options available for converting data from higher to lower
  274. !    frequencies: SUM the observations; AVERAGE the observations; use the
  275. !    MINimun observation in each period; use the MAXimum observation in each
  276. !    period; or use the LAST observation in each period.  The choice depends
  277. !    upon the way the series is defined and on how the converted time series
  278. !    is to be applied.  In our example, it is appropriate to SUM the 
  279. !    observations to quarterly periodicity, since federal deficit estimates
  280. !    are expressed as the total deficit incurred in each month.  Since SUM
  281. !    is the default option, the modifier may be omitted from the command
  282. !    line. 
  283. !    
  284.  
  285. CONVERT quarterly_fed_deficit = federal_deficit
  286.  
  287. !    
  288. !    Conversion from annual to quarterly data follows the same
  289. !    procedures except that the modifiers are different.  When 
  290. !    converting from a lower to higher periodicity, you can
  291. !    FILL each subperiod in the converted series with the value
  292. !    associated with the entire period, or SHARE the data
  293. !    equally among all subperiods.  In this case, neither modifier
  294. !    seems appropriate because FILL produces the same population 
  295. !    estimates for each quarter of the year while SHARE clearly
  296. !    generates incorrect results - since quarterly populations are
  297. !    not simply annual population divided by 4!  We can reasonably 
  298. !    good results if we CONVERT using the SHARE modifier and
  299. !    then take a moving sum of length 4 over the periods t-2 to t+1.
  300. !    Since SHARE is the default, it can be omitted from the command
  301. !    line.
  302. !    
  303.  
  304. USE 1979q1 1984q4
  305. CONVERT  temp_population = annual_population
  306.  
  307. !    
  308. !    Now calculate the moving sum over the specified period using
  309. !    the MSUM command.  
  310. !
  311. !    Since the period over which the moving sum is to be taken ranges
  312. !    from t-2 to t+1, change the active observation period accordingly.
  313. !
  314. USE 1979q2 1984q3
  315.  
  316. MSUM quarterly_population temp_population(+1) 4
  317.  
  318. !
  319. !    We'll extrapolate that value from the annual growth rate
  320. !    in population from 1983 to 1984 after adjusting it to a
  321. !    quarterly growth rate.
  322. !
  323. !    Calculate the growth rate.
  324. !
  325.  
  326. USE 1984
  327. SET growth_rate = (annual_population/annual_population(-1))**0.25
  328.  
  329. !
  330. !    Extrapolate the quarterly estimate to 1984q4.
  331. !
  332.  
  333. USE 1984q4
  334. REVISE quarterly_population = quarterly_population(-1) * growth_rate
  335.  
  336. !
  337. !    Compare the quarterly population estimates with estimates
  338. !    generated by the CONVERT command when the FILL modifier is
  339. !    used.
  340. !
  341.  
  342. USE 1980q1 1984q4
  343. CONVERT (FILL) temp_population = annual_population
  344. PRINT temp_population quarterly_population
  345.  
  346. !
  347. !    Now print out the three quarterly series for the 1980q1 to
  348. !    1984q4 period.
  349. !
  350.  
  351. PRINT gnp72 quarterly_fed_deficit quarterly_population
  352.  
  353. !
  354. !    That's it!
  355. !
  356. QUIT
  357.  
  358.  
  359.  
  360.